package com.leisure.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * ClassName: Result
 * Package: com.leisure.pojo
 * Description: 返回结果
 *
 * @Author: MyLeisureLife
 * @Date: 2024/6/5:00:39:58 星期三
 */
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Result<T> {
    private Integer code; //业务状态码
    private String message; //提示信息
    private T data; //响应数据

    /**
     * 快速返回操作成功响应结果（带响应数据）
     * @param data  响应数据
     * @return 响应结果
     * @param <E> 泛型
     */
    public static <E> Result<E> success(E data){
        return new Result<>(200, "操作成功", data);
    }

    /**
     * 快速返回操作成功响应结果
     * @return 响应结果
     */
    public static Result success(){
        return new Result(200, "操作成功", null);
    }
    public static <Sting> Result<Sting> error(String message){
        return new Result<Sting>(500, message, null);
    }

}
